#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int SListDataType;

//结点（节点）
typedef struct SListNode
{
	//存一个数据开一个结点
	SListDataType data;
	struct SListNode* next;
}SListNode;


//尾插
void SListPushBack(SListNode* phead, SListDataType x);
//尾删
void SListPopBack(SListNode* phead);
//头插
void SListPushPront(SListNode* phead, SListDataType x);
//头删
void SListPopPront(SListNode* phead);


//打印
void SListPrint(SListNode* phead);

//单链表的查找(返回值应是SListNode类型的指针)
SListNode* SListFind(SListNode* phead, SListDataType x);

//中间插入
void SListInsertAfter(SListNode* pos, SListDataType x);

//中间删除
void SListEraseAfter(SListNode* pos);